Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


Dockerfile 48abc8bb3ffacdae75926dc2c48d6926d8f2b40e (48abc8bb) Text, 1.34 KB

T8b949e# Build arguments
Tff7b72ARG Te6edf3NODE_VERSIONTff7b72=T79c0ff20
Tff7b72ARG Te6edf3NODE_ALPINE_SHA256Tff7b72=sha256:6a91081a440be0b57336fbc4ee87f3dab1a2fd6f80cdb355dcf960e13bda3b59
Tff7b72ARG Te6edf3PYTHON_VERSIONTff7b72=T79c0ff3.11
Tff7b72ARG Te6edf3PYTHON_ALPINE_SHA256Tff7b72=sha256:822ceb965f026bc47ee667e50a44309d2d81087780bbbf64f2005521781a3621

T8b949e# Build the frontend
Tff7b72FROM Ta5d6ffnode:${NODE_VERSION}-alpine@${NODE_ALPINE_SHA256} Tff7b72AS Ta5d6ffbuild-frontend

Tff7b72WORKDIR Ta5d6ff/src

T8b949e# Copy required source files
Tff7b72COPY package.json vite.config.js ./
Tff7b72COPY pnpm-lock.yaml ./
Tff7b72COPY meshchatx ./meshchatx

T8b949e# Install pnpm
Tff7b72RUN corepack Tffa657enable Tff7b72&& corepack prepare pnpm@latest --activate

T8b949e# Install NodeJS deps, exluding electron
Tff7b72RUN pnpm install --prod Tff7b72&& Tffea00\
pnpm run build-frontend

T8b949e# Main app build
Tff7b72FROM Ta5d6ffpython:${PYTHON_VERSION}-alpine@${PYTHON_ALPINE_SHA256}

Tff7b72WORKDIR Ta5d6ff/app

T8b949e# Install Python deps
Tff7b72COPY ./requirements.txt .
Tff7b72RUN apk add --no-cache --virtual .build-deps Tffea00\
gcc Tffea00\
musl-dev Tffea00\
linux-headers Tffea00\
python3-dev Tff7b72&& Tffea00\
pip install -r requirements.txt Tff7b72&& Tffea00\
apk del .build-deps

T8b949e# Copy prebuilt frontend
Tff7b72COPY --fromTff7b72=build-frontend /src/meshchatx/public meshchatx/public

T8b949e# Copy other required source files
Tff7b72COPY meshchatx ./meshchatx
Tff7b72COPY pyproject.toml poetry.lock ./

Tff7b72CMD Tb4b4b4[Ta5d6ff"python"Tb4b4b4, Ta5d6ff"-m"Tb4b4b4, Ta5d6ff"meshchatx.meshchat"Tb4b4b4, Ta5d6ff"--host=0.0.0.0"Tb4b4b4, Ta5d6ff"--reticulum-config-dir=/config/.reticulum"Tb4b4b4, Ta5d6ff"--storage-dir=/config/.meshchat"Tb4b4b4, Ta5d6ff"--headless"Tb4b4b4]


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────